package com.xnew.entity.memberArchives;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.xnew.bean.common.FileInfo;
import org.springframework.data.annotation.Transient;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* @Author: Zhozh
* @Description: 处罚信息表
* @DateTime: 2022/5/11
* @Params:
* @Return
*/

@TableName("t21_punish_info")
public class PunishInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 处罚信息编号
    */
    @TableId("punish_info_no")
    private String punishInfoNo;

    /**
    * 信息报送审核状态编码
    */
    private String infsubAuditStatusCode;

    /**
    * 机构用户编号
    */
    private String orgUserNo;

    /**
    * 有效期类型编码
    */
    private String valdtTypeCode;

    /**
    * 处罚名称类别编码
    */
    private String punishNameSubCtegCode;

    /**
     * 处罚名称子类别编码
     */
    private String punishNameSubCtegChildCode;

    /**
    * 处罚对象类型编码
    */
    private String punishObjectTypeCode;

    /**
    * 组织机构代码
    */
    private String orgzCode;

    /**
    * 处罚日期
    */
    private String punishDate;

    /**
    * 责任人名称
    */
    private String resperName;

    /**
    * 处罚信息相关文件文号
    */
    private String punishInfoFileNmb;

    /**
    * 处罚起始日期
    */
    private String punishBeginDate;

    /**
    * 处罚终止日期
    */
    private String punishEndDate;

    /**
    * 作出处罚机构编码
    */
    private String doPunishOrgCode;

    /**
    * 处罚简明原因
    */
    private String punishSimpleReason;

    /**
    * 处罚原因
    */
    private String punishReason;

    /**
    * 处罚内容
    */
    private String punishContent;

    /**
    * 法律法规依据
    */
    private String lrBasis;

    /**
    * 异议报告描述
    */
    private String objtnRptDesc;

    /**
    * 信息录入人编号
    */
    private String infoInputPsnNo;

    /**
    * 信息录入时间
    */
    private String infoInputTime;

    /**
    * 信息修改人编号
    */
    private String infoModyPsnNo;

    /**
    * 信息修改时间
    */
    private String infoModyTime;

    /**
    * 身份证号
    */
    private String idcardNo;

    /**
    * 被处罚对象名称
    */
    private String bePunishObjectName;

    /**
    * 处罚对象名称
    */
    private String punishObjectName;

    /**
    * 处罚名称信息编号
    */
    private String punishNameInfoNo;

    /**
    * 处罚类型名称
    */
    private String punishTypeName;

    /**
    * 是否关闭状态
    */
    private String isCloseStatus;

    /**
     * 审核日志
     */
    @TableField(exist = false)
    private List<AuditLog> auditLogList;


    public List<AuditLog> getAuditLogList() {
        return auditLogList;
    }

    public void setAuditLogList(List<AuditLog> auditLogList) {
        this.auditLogList = auditLogList;
    }

    @TableField(exist = false)
    private List<MemInfoChgHist> histList;

    public List<MemInfoChgHist> getHistList() {
        return histList;
    }

    public void setHistList(List<MemInfoChgHist> histList) {
        this.histList = histList;
    }

    @TableField(exist = false)
    private List<FileInfo> fileList;

    public List<FileInfo> getFileList() {
        return fileList;
    }

    public void setFileList(List<FileInfo> fileList) {
        this.fileList = fileList;
    }

    public PunishInfo() {
    }

    public String getPunishInfoNo() {
        return punishInfoNo;
    }

    public void setPunishInfoNo(String punishInfoNo) {
        this.punishInfoNo = punishInfoNo;
    }

    public String getInfsubAuditStatusCode() {
        return infsubAuditStatusCode;
    }

    public void setInfsubAuditStatusCode(String infsubAuditStatusCode) {
        this.infsubAuditStatusCode = infsubAuditStatusCode;
    }

    public String getOrgUserNo() {
        return orgUserNo;
    }

    public void setOrgUserNo(String orgUserNo) {
        this.orgUserNo = orgUserNo;
    }

    public String getValdtTypeCode() {
        return valdtTypeCode;
    }

    public void setValdtTypeCode(String valdtTypeCode) {
        this.valdtTypeCode = valdtTypeCode;
    }

    public String getPunishNameSubCtegCode() {
        return punishNameSubCtegCode;
    }

    public void setPunishNameSubCtegCode(String punishNameSubCtegCode) {
        this.punishNameSubCtegCode = punishNameSubCtegCode;
    }

    public String getPunishObjectTypeCode() {
        return punishObjectTypeCode;
    }

    public void setPunishObjectTypeCode(String punishObjectTypeCode) {
        this.punishObjectTypeCode = punishObjectTypeCode;
    }

    public String getOrgzCode() {
        return orgzCode;
    }

    public void setOrgzCode(String orgzCode) {
        this.orgzCode = orgzCode;
    }

    public String getPunishDate() {
        return punishDate;
    }

    public void setPunishDate(String punishDate) {
        this.punishDate = punishDate;
    }

    public String getResperName() {
        return resperName;
    }

    public void setResperName(String resperName) {
        this.resperName = resperName;
    }

    public String getPunishInfoFileNmb() {
        return punishInfoFileNmb;
    }

    public void setPunishInfoFileNmb(String punishInfoFileNmb) {
        this.punishInfoFileNmb = punishInfoFileNmb;
    }

    public String getPunishBeginDate() {
        return punishBeginDate;
    }

    public void setPunishBeginDate(String punishBeginDate) {
        this.punishBeginDate = punishBeginDate;
    }

    public String getPunishEndDate() {
        return punishEndDate;
    }

    public void setPunishEndDate(String punishEndDate) {
        this.punishEndDate = punishEndDate;
    }

    public String getDoPunishOrgCode() {
        return doPunishOrgCode;
    }

    public void setDoPunishOrgCode(String doPunishOrgCode) {
        this.doPunishOrgCode = doPunishOrgCode;
    }

    public String getPunishSimpleReason() {
        return punishSimpleReason;
    }

    public void setPunishSimpleReason(String punishSimpleReason) {
        this.punishSimpleReason = punishSimpleReason;
    }

    public String getPunishReason() {
        return punishReason;
    }

    public void setPunishReason(String punishReason) {
        this.punishReason = punishReason;
    }

    public String getPunishContent() {
        return punishContent;
    }

    public void setPunishContent(String punishContent) {
        this.punishContent = punishContent;
    }

    public String getLrBasis() {
        return lrBasis;
    }

    public void setLrBasis(String lrBasis) {
        this.lrBasis = lrBasis;
    }

    public String getObjtnRptDesc() {
        return objtnRptDesc;
    }

    public void setObjtnRptDesc(String objtnRptDesc) {
        this.objtnRptDesc = objtnRptDesc;
    }

    public String getInfoInputPsnNo() {
        return infoInputPsnNo;
    }

    public void setInfoInputPsnNo(String infoInputPsnNo) {
        this.infoInputPsnNo = infoInputPsnNo;
    }

    public String getInfoInputTime() {
        return infoInputTime;
    }

    public void setInfoInputTime(String infoInputTime) {
        this.infoInputTime = infoInputTime;
    }

    public String getInfoModyPsnNo() {
        return infoModyPsnNo;
    }

    public void setInfoModyPsnNo(String infoModyPsnNo) {
        this.infoModyPsnNo = infoModyPsnNo;
    }

    public String getInfoModyTime() {
        return infoModyTime;
    }

    public void setInfoModyTime(String infoModyTime) {
        this.infoModyTime = infoModyTime;
    }

    public String getIdcardNo() {
        return idcardNo;
    }

    public void setIdcardNo(String idcardNo) {
        this.idcardNo = idcardNo;
    }

    public String getBePunishObjectName() {
        return bePunishObjectName;
    }

    public void setBePunishObjectName(String bePunishObjectName) {
        this.bePunishObjectName = bePunishObjectName;
    }

    public String getPunishObjectName() {
        return punishObjectName;
    }

    public void setPunishObjectName(String punishObjectName) {
        this.punishObjectName = punishObjectName;
    }

    public String getPunishNameInfoNo() {
        return punishNameInfoNo;
    }

    public void setPunishNameInfoNo(String punishNameInfoNo) {
        this.punishNameInfoNo = punishNameInfoNo;
    }

    public String getPunishTypeName() {
        return punishTypeName;
    }

    public void setPunishTypeName(String punishTypeName) {
        this.punishTypeName = punishTypeName;
    }

    public String getIsCloseStatus() {
        return isCloseStatus;
    }

    public void setIsCloseStatus(String isCloseStatus) {
        this.isCloseStatus = isCloseStatus;
    }

    public String getPunishNameSubCtegChildCode() {
        return punishNameSubCtegChildCode;
    }

    public void setPunishNameSubCtegChildCode(String punishNameSubCtegChildCode) {
        this.punishNameSubCtegChildCode = punishNameSubCtegChildCode;
    }

    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist = false)
    private Map<String, Object> dictNameResult = new HashMap<String, Object>();

    public Map<String, Object> getDictNameResult() {
        return dictNameResult;
    }

    public void setDictNameResult(Map<String, Object> dictNameResult) {
        this.dictNameResult = dictNameResult;
    }

    //数据字典
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeField(){
        return new String[]{"infsubAuditStatusCode","valdtTypeCode","punishNameSubCtegCode","punishNameSubCtegChildCode","punishObjectTypeCode","doPunishOrgCode","auditLogList"};
    }

    /*数据字典*/
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeType(){
        return new String[]{"DG0149","DG0159","DG0012","DG0012","DG0171","DG0436","LIST"};
    }
}